DDR部分Layout¶
一.DDR布线一般规则¶
阻抗匹配¶
- DQn/DM/DQS, CLK,传输线阻抗50欧,差分阻抗100欧
- 线距3W,或者至少4mil
等长约束¶
- CKP/N严格等长(<5mil),长度小于4inch
- DQS以CLK为基准,误差+-250mil,P/N间严格等长,<5mil
- DQ八根一组与对应DQ严格等长,误差50mil
- DM与对应DQ严格等长,误差50mil
- ADDR[0:14]以CLK为基准,误差100mil。
- 剩余控制信号以CLK为基准,误差100mil。
差分线约束¶
- 差分线和其他线距离12mil以上,长度差<5mil,线间距>4mil
- 蛇形线的平行长度不宜过长,宜45度走线
电源滤波¶
- 每个电源管脚放104,至少有一个10uf
- 每2厘米电源线放一个10uf
二.DDR布线实用规则¶
阻抗匹配规则¶
- 阻抗匹配适用于“长”线传输,一般来说信号线长超过十分之一的波长才需要考虑阻抗匹配。
PP胶介电常数约4.7,电磁场传播速度约(1/sqrt(4.7))=1/2.1, 即传播速度为 150mm/ns~6inch/ns DDR3-1066时钟频率533MHz~0.5GHz,周期约2ns, 所以波长约300mm,波长/10约30mm 所以当DDR信号线走线长度小于30mm~1200mil时,可以不考虑阻抗匹配
荔枝板在实际布线时可以目测到走线长度在1000mil以内,所以无需特别进行阻抗匹配。
- 另一方面,可以计算阻抗失配后的波峰波谷电压,看是否在合理范围
荔枝板prepreg为0.2mm(7628),走线为5mil,计算得阻抗约75~80欧,归一化阻抗约1.5 反射系数=(1.5-1)/(1.5+1)=0.2 VH波峰电压=1.5x1.2=1.8V <= Vmax 1.8V VH波谷电压=1.5x0.8=1.2V > 0.75+0.1 = 0.85V 所以这种程度的阻抗失配还不会直接造成信号传输错误
通过以上规则的取舍,实际应用中可以省下几百块阻抗费 O(∩_∩)O~ (阻抗计算器si9000)
等长约束规则¶
- 等长约束通常是芯片相关的,最好翻阅对应芯片的手册
- 有时候蛇形走线造成的串扰影响甚至会超过不等长的影响,这里也需要取舍
三.DDR布线小技巧¶
- 放DDR之前先 大致确认下连线最长和最短的信号线,合理摆放使得两个最值之间的差距尽量小
- 放置好DDR后,先打好电源引脚的过孔,放上滤波电容,防止布好线后找不到地方打孔。。
- 走线时先走最长的线和差分线,确定长度基准
- 需要绕等长时,外部的线直接往外扩,让内部线有空间绕等长
- 顶层和底层的走线数目大致相同,可以使得布线面积较小
四.Altium Designer 布DDR指南¶
- AD15之后的版本具有x-signal功能,类似x-net,可以利用该功能控制等长
- 首先选中CPU和DDR,然后右键->xsignals->create xsignals between component,即可添加需要的信号线到xsignal
- 然后可以在rule里设置规则,在右下角的PCB里点开查看信号线长度
- 调整差分线等长,T->I, 交互式差分线长度调整;
- tab键,输入要调整到的长度,以及幅度,间距(建议更大于3W)等
- 通过1234来微调蛇形形状,逗号,句号 调整幅度
- 空间有限时,可以手动来调整线长。
- 调整差分线接近最长的其他走线
- 调整其它线长T->R (交互式线长调整),
- 按tab设置等长选项(会自动以原理图里的差分线为基准),可以设置蛇形幅度,间距(最好3W以上)
- 然后按1234等按键微调蛇形形状,调整至等长;按逗号和句号调整幅度;
- 最终效果